/**
 * Copyright (c) 2016-2019 人人开源 All rights reserved.
 * <p>
 * https://www.renren.io
 * <p>
 * 版权所有，侵权必究！
 */

package vip.zhenzicheng.common.utils;

/**
 * 常量
 *
 * @author Mark sunlightcs@gmail.com
 */
public class Constant {
  /**
   * 超级管理员ID
   */
  public static final int SUPER_ADMIN = 1;
  /**
   * 当前页码
   */
  public static final String PAGE = "page";
  /**
   * 每页显示记录数
   */
  public static final String LIMIT = "limit";
  /**
   * 排序字段
   */
  public static final String ORDER_FIELD = "sidx";
  /**
   * 排序方式
   */
  public static final String ORDER = "order";
  /**
   * 升序
   */
  public static final String ASC = "asc";

  /**
   * 菜单类型
   *
   * @author chenshun
   * @email sunlightcs@gmail.com
   * @date 2016年11月15日 下午1:24:29
   */
  public enum MenuType {
    /**
     * 目录
     */
    CATALOG(0),
    /**
     * 菜单
     */
    MENU(1),
    /**
     * 按钮
     */
    BUTTON(2);

    private int value;

    MenuType(int value) {
      this.value = value;
    }

    public int getValue() {
      return value;
    }
  }

  /**
   * 定时任务状态
   *
   * @author chenshun
   * @email sunlightcs@gmail.com
   * @date 2016年12月3日 上午12:07:22
   */
  public enum ScheduleStatus {
    /**
     * 正常
     */
    NORMAL(0),
    /**
     * 暂停
     */
    PAUSE(1);

    private int value;

    ScheduleStatus(int value) {
      this.value = value;
    }

    public int getValue() {
      return value;
    }
  }

  /**
   * 云服务商
   */
  // public enum CloudService {
  //     /**
  //      * 七牛云
  //      */
  //     QINIU(1, QiniuGroup.class),
  //     /**
  //      * 阿里云
  //      */
  //     ALIYUN(2, AliyunGroup.class),
  //     /**
  //      * 腾讯云
  //      */
  //     QCLOUD(3, QcloudGroup.class);
  //
  //     private int value;
  //
  //     private Class<?> validatorGroupClass;
  //
  //     CloudService(int value, Class<?> validatorGroupClass) {
  //         this.value = value;
  //         this.validatorGroupClass = validatorGroupClass;
  //     }
  //
  //     public int getValue() {
  //         return value;
  //     }
  //
  //     public Class<?> getValidatorGroupClass() {
  //         return this.validatorGroupClass;
  //     }
  //
  //     public static CloudService getByValue(Integer value) {
  //         Optional<CloudService> first = Stream.of(CloudService.values()).filter(cs -> value.equals(cs.value)).findFirst();
  //         if (!first.isPresent()) {
  //             throw new IllegalArgumentException("非法的枚举值:" + value);
  //         }
  //         return first.get();
  //     }
  // }

}
